package com.qp.bookkeeping.business.book.service;

import com.qp.bookkeeping.business.book.model.req.DeleteBookReq;
import com.qp.bookkeeping.business.book.model.req.QueryBookReq;
import com.qp.bookkeeping.business.book.model.req.SaveBookReq;
import com.qp.bookkeeping.business.book.model.req.StatisticMonthReq;
import com.qp.bookkeeping.business.book.model.rsp.QueryBookRsp;
import com.qp.bookkeeping.business.book.model.rsp.StatisticMonthRsp;

/**
 * @author xutianqi
 */
public interface BookService {
    /**
     * 记账
     *
     * @param bookkeepingReq 记账req
     */
    void bookkeeping(SaveBookReq bookkeepingReq);

    /**
     * 查账
     *
     * @param queryBookReq 查账req
     * @return
     */
    QueryBookRsp queryBook(QueryBookReq queryBookReq);

    /**
     * 按月统计
     *
     * @return 月统计数据
     */
    StatisticMonthRsp statisticMonth(StatisticMonthReq statisticMonthReq);

    /**
     * 删除一条账单记录
     * @param deleteBookReq 请求体
     */
    void deleteBookById(DeleteBookReq deleteBookReq);
}
